Сравнение режимов работы интерпретатора PHP-скриптов

Панель управления ISPmanager поддерживает следующие режимы работы интерпретатора PHP:
  • PHP как модуль Apache
  • PHP как CGI
  • PHP как FastCGI

PHP как модуль Apache
В данном случае для работы PHP используется модуль веб-сервера apache mod_php

Достоинства
  • Самая высокая скорость работы скриптов, по сравнению с другими методами.
  • Простота работы, сервер сам обрабатывает скрипты.
  • Общий конфигурационный файл для всех скриптов (php.ini).
  • Возможность задания переменных конфигурации PHP в конфигурационном файле web-сервера или средствами файла .htaccess
Недостатки
  • Все скрипты запускаются с правами с которым работает web-сервер, тем самым если есть необходимость записи в какую либо директорию – права доступа необходимо дать на нее всем.
  • В случае запуска сторонних приложений скриптами (например, почтовая рассылка), нет возможности идентифицировать пользователя который запустил процесс.
  • Излишняя нагрузка на web-сервер, apache занятый обработкой скриптов может медленно отдавать другие статические данные.
  • Ошибки в скриптах могут привести к неработоспособности всего web-сервера

PHP как CGI
В случае работы PHP как CGI используется запуск PHP-скрипта через его передачу на выполнение непосредственно интерпретатору PHP.

Достоинства
  • Все скрипты выполняются с правами пользователя – владельца www-домена.
  • Возможность индивидуальной настройки PHP для каждого пользователя.
  • Меньший расход оперативной памяти по сравнению с модулем apache
  • Ошибки в скриптах не приводят к падению веб-сервера в отличие от режима PHP как модуль apache
Недостатки
  • Проблемы с авторизацией средствами PHP (средствами команды Header) по причине того, что не передаются некоторые переменные сервера php-скрипту.

PHP как FastCGI
При этом используется модуль Apache mod_fastcgi, скрипты передаются его средствами на вход интерпретатора PHP.

Достоинства
  • За счет кэширования некоторых промежуточных данных скрипт не интерпретируется каждый раз при выполнении и достигается более высокая скорость по сравнению с PHP как CGI.
Недостатки
  • Лишний процесс пользователя (php-cgi) находится в памяти после первого обращения к процессу.

Изменение режима работы PHP в ISPmanager
Настройка режима работы PHP для сайта осуществляется через меню Домены – WWW домены – редактировать – PHP, при условии, что все эти режимы разрешены пользователю – владельцу www-домена.